PROCEDURE GetTimeBaseInfo(VAR theMinAbsoluteTimeDelta: UInt32; VAR theAbsoluteTimeToNanosecondNumerator: UInt32; VAR theAbsoluteTimeToNanosecondDenominator: UInt32; VAR theProcessorToAbsoluteTimeNumerator: UInt32; VAR theProcessorToAbsoluteTimeDenominator: UInt32); C;
{
Timing Conversion Routines
}
FUNCTION AbsoluteToNanoseconds(theAbsoluteTime: AbsoluteTime): Nanoseconds; C;
FUNCTION AbsoluteToDuration(theAbsoluteTime: AbsoluteTime): Duration; C;
FUNCTION NanosecondsToAbsolute(theNanoseconds: Nanoseconds): AbsoluteTime; C;
FUNCTION DurationToAbsolute(theDuration: Duration): AbsoluteTime; C;
FUNCTION DurationToNanoseconds(theDuration: Duration): Nanoseconds; C;
FUNCTION NanosecondsToDuration(theNanoseconds: Nanoseconds): Duration; C;
FUNCTION AbsoluteToTicks(theAbsoluteTime: AbsoluteTime): Ticks; C;
FUNCTION TicksToAbsolute(theTicks: Ticks): AbsoluteTime; C;
{
AbsoluteTime Adjustment Routines
}
FUNCTION AddAbsoluteToAbsolute(theAbsoluteTime1: AbsoluteTime; theAbsoluteTime2: AbsoluteTime): AbsoluteTime; C;
FUNCTION SubAbsoluteFromAbsolute(theLeftAbsoluteTime: AbsoluteTime; theRightAbsoluteTime: AbsoluteTime): AbsoluteTime; C;
FUNCTION AddNanosecondsToAbsolute(theNanoseconds: Nanoseconds; theAbsoluteTime: AbsoluteTime): AbsoluteTime; C;
FUNCTION AddDurationToAbsolute(theDuration: Duration; theAbsoluteTime: AbsoluteTime): AbsoluteTime; C;
FUNCTION SubNanosecondsFromAbsolute(theNanoseconds: Nanoseconds; theAbsoluteTime: AbsoluteTime): AbsoluteTime; C;
FUNCTION SubDurationFromAbsolute(theDuration: Duration; theAbsoluteTime: AbsoluteTime): AbsoluteTime; C;
{
Timing Delta Routines
}
FUNCTION AbsoluteDeltaToNanoseconds(theLeftAbsoluteTime: AbsoluteTime; theRightAbsoluteTime: AbsoluteTime): Nanoseconds; C;
FUNCTION AbsoluteDeltaToDuration(theLeftAbsoluteTime: AbsoluteTime; theRightAbsoluteTime: AbsoluteTime): Duration; C;